// Generated from NewJavaParser.g4 by ANTLR 4.7
package com.hsh.generate;
import org.antlr.v4.runtime.tree.ParseTreeVisitor;

/**
 * This interface defines a complete generic visitor for a parse tree produced
 * by {@link NewJavaParser}.
 *
 * @param <T> The return type of the visit operation. Use {@link Void} for
 * operations with no return type.
 */
public interface NewJavaParserVisitor<T> extends ParseTreeVisitor<T> {
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#compilationUnit}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCompilationUnit(NewJavaParser.CompilationUnitContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#packageDeclaration}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPackageDeclaration(NewJavaParser.PackageDeclarationContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#importDeclaration}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitImportDeclaration(NewJavaParser.ImportDeclarationContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#typeDeclaration}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTypeDeclaration(NewJavaParser.TypeDeclarationContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#modifier}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitModifier(NewJavaParser.ModifierContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#classOrInterfaceModifier}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitClassOrInterfaceModifier(NewJavaParser.ClassOrInterfaceModifierContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#variableModifier}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitVariableModifier(NewJavaParser.VariableModifierContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#classDeclaration}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitClassDeclaration(NewJavaParser.ClassDeclarationContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#typeParameters}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTypeParameters(NewJavaParser.TypeParametersContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#typeParameter}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTypeParameter(NewJavaParser.TypeParameterContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#typeBound}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTypeBound(NewJavaParser.TypeBoundContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#enumDeclaration}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitEnumDeclaration(NewJavaParser.EnumDeclarationContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#enumConstants}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitEnumConstants(NewJavaParser.EnumConstantsContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#enumConstant}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitEnumConstant(NewJavaParser.EnumConstantContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#enumBodyDeclarations}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitEnumBodyDeclarations(NewJavaParser.EnumBodyDeclarationsContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#interfaceDeclaration}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitInterfaceDeclaration(NewJavaParser.InterfaceDeclarationContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#classBody}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitClassBody(NewJavaParser.ClassBodyContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#interfaceBody}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitInterfaceBody(NewJavaParser.InterfaceBodyContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#classBodyDeclaration}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitClassBodyDeclaration(NewJavaParser.ClassBodyDeclarationContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#memberDeclaration}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMemberDeclaration(NewJavaParser.MemberDeclarationContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#methodDeclaration}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMethodDeclaration(NewJavaParser.MethodDeclarationContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#methodBody}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMethodBody(NewJavaParser.MethodBodyContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#typeTypeOrVoid}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTypeTypeOrVoid(NewJavaParser.TypeTypeOrVoidContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#genericMethodDeclaration}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGenericMethodDeclaration(NewJavaParser.GenericMethodDeclarationContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#genericConstructorDeclaration}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGenericConstructorDeclaration(NewJavaParser.GenericConstructorDeclarationContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#constructorDeclaration}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitConstructorDeclaration(NewJavaParser.ConstructorDeclarationContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#fieldDeclaration}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFieldDeclaration(NewJavaParser.FieldDeclarationContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#interfaceBodyDeclaration}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitInterfaceBodyDeclaration(NewJavaParser.InterfaceBodyDeclarationContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#interfaceMemberDeclaration}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitInterfaceMemberDeclaration(NewJavaParser.InterfaceMemberDeclarationContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#constDeclaration}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitConstDeclaration(NewJavaParser.ConstDeclarationContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#constantDeclarator}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitConstantDeclarator(NewJavaParser.ConstantDeclaratorContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#interfaceMethodDeclaration}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitInterfaceMethodDeclaration(NewJavaParser.InterfaceMethodDeclarationContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#interfaceMethodModifier}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitInterfaceMethodModifier(NewJavaParser.InterfaceMethodModifierContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#genericInterfaceMethodDeclaration}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGenericInterfaceMethodDeclaration(NewJavaParser.GenericInterfaceMethodDeclarationContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#variableDeclarators}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitVariableDeclarators(NewJavaParser.VariableDeclaratorsContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#variableDeclarator}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitVariableDeclarator(NewJavaParser.VariableDeclaratorContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#variableDeclaratorId}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitVariableDeclaratorId(NewJavaParser.VariableDeclaratorIdContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#variableInitializer}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitVariableInitializer(NewJavaParser.VariableInitializerContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#arrayInitializer}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitArrayInitializer(NewJavaParser.ArrayInitializerContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#classOrInterfaceType}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitClassOrInterfaceType(NewJavaParser.ClassOrInterfaceTypeContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#typeArgument}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTypeArgument(NewJavaParser.TypeArgumentContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#qualifiedNameList}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitQualifiedNameList(NewJavaParser.QualifiedNameListContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#formalParameters}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFormalParameters(NewJavaParser.FormalParametersContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#formalParameterList}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFormalParameterList(NewJavaParser.FormalParameterListContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#formalParameter}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFormalParameter(NewJavaParser.FormalParameterContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#lastFormalParameter}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLastFormalParameter(NewJavaParser.LastFormalParameterContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#qualifiedName}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitQualifiedName(NewJavaParser.QualifiedNameContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#literal}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLiteral(NewJavaParser.LiteralContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#integerLiteral}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitIntegerLiteral(NewJavaParser.IntegerLiteralContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#floatLiteral}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFloatLiteral(NewJavaParser.FloatLiteralContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#annotation}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAnnotation(NewJavaParser.AnnotationContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#elementValuePairs}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitElementValuePairs(NewJavaParser.ElementValuePairsContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#elementValuePair}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitElementValuePair(NewJavaParser.ElementValuePairContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#elementValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitElementValue(NewJavaParser.ElementValueContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#elementValueArrayInitializer}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitElementValueArrayInitializer(NewJavaParser.ElementValueArrayInitializerContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#annotationTypeDeclaration}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAnnotationTypeDeclaration(NewJavaParser.AnnotationTypeDeclarationContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#annotationTypeBody}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAnnotationTypeBody(NewJavaParser.AnnotationTypeBodyContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#annotationTypeElementDeclaration}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAnnotationTypeElementDeclaration(NewJavaParser.AnnotationTypeElementDeclarationContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#annotationTypeElementRest}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAnnotationTypeElementRest(NewJavaParser.AnnotationTypeElementRestContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#annotationMethodOrConstantRest}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAnnotationMethodOrConstantRest(NewJavaParser.AnnotationMethodOrConstantRestContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#annotationMethodRest}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAnnotationMethodRest(NewJavaParser.AnnotationMethodRestContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#annotationConstantRest}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAnnotationConstantRest(NewJavaParser.AnnotationConstantRestContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#defaultValue}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDefaultValue(NewJavaParser.DefaultValueContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#block}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBlock(NewJavaParser.BlockContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#blockStatement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitBlockStatement(NewJavaParser.BlockStatementContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#localVariableDeclaration}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLocalVariableDeclaration(NewJavaParser.LocalVariableDeclarationContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#localTypeDeclaration}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLocalTypeDeclaration(NewJavaParser.LocalTypeDeclarationContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#statement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitStatement(NewJavaParser.StatementContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#catchClause}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCatchClause(NewJavaParser.CatchClauseContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#catchType}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCatchType(NewJavaParser.CatchTypeContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#finallyBlock}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFinallyBlock(NewJavaParser.FinallyBlockContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#resourceSpecification}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitResourceSpecification(NewJavaParser.ResourceSpecificationContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#resources}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitResources(NewJavaParser.ResourcesContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#resource}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitResource(NewJavaParser.ResourceContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#switchBlockStatementGroup}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSwitchBlockStatementGroup(NewJavaParser.SwitchBlockStatementGroupContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#switchLabel}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSwitchLabel(NewJavaParser.SwitchLabelContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#forControl}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitForControl(NewJavaParser.ForControlContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#forInit}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitForInit(NewJavaParser.ForInitContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#enhancedForControl}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitEnhancedForControl(NewJavaParser.EnhancedForControlContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#parExpression}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitParExpression(NewJavaParser.ParExpressionContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#expressionList}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExpressionList(NewJavaParser.ExpressionListContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#expression}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExpression(NewJavaParser.ExpressionContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#lambdaExpression}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLambdaExpression(NewJavaParser.LambdaExpressionContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#lambdaParameters}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLambdaParameters(NewJavaParser.LambdaParametersContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#lambdaBody}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLambdaBody(NewJavaParser.LambdaBodyContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#primary}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPrimary(NewJavaParser.PrimaryContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#classType}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitClassType(NewJavaParser.ClassTypeContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#creator}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCreator(NewJavaParser.CreatorContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#createdName}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCreatedName(NewJavaParser.CreatedNameContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#innerCreator}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitInnerCreator(NewJavaParser.InnerCreatorContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#arrayCreatorRest}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitArrayCreatorRest(NewJavaParser.ArrayCreatorRestContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#classCreatorRest}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitClassCreatorRest(NewJavaParser.ClassCreatorRestContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#explicitGenericInvocation}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExplicitGenericInvocation(NewJavaParser.ExplicitGenericInvocationContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#typeArgumentsOrDiamond}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTypeArgumentsOrDiamond(NewJavaParser.TypeArgumentsOrDiamondContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#nonWildcardTypeArgumentsOrDiamond}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitNonWildcardTypeArgumentsOrDiamond(NewJavaParser.NonWildcardTypeArgumentsOrDiamondContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#nonWildcardTypeArguments}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitNonWildcardTypeArguments(NewJavaParser.NonWildcardTypeArgumentsContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#typeList}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTypeList(NewJavaParser.TypeListContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#typeType}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTypeType(NewJavaParser.TypeTypeContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#primitiveType}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitPrimitiveType(NewJavaParser.PrimitiveTypeContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#typeArguments}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitTypeArguments(NewJavaParser.TypeArgumentsContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#superSuffix}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSuperSuffix(NewJavaParser.SuperSuffixContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#explicitGenericInvocationSuffix}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExplicitGenericInvocationSuffix(NewJavaParser.ExplicitGenericInvocationSuffixContext ctx);
	/**
	 * Visit a parse tree produced by {@link NewJavaParser#arguments}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitArguments(NewJavaParser.ArgumentsContext ctx);
}